package validadores;

import entidades.Usuario;
import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.component.UIComponent;
import javax.faces.component.UIInput;
import javax.faces.context.FacesContext;
import javax.faces.validator.Validator;
import javax.faces.validator.ValidatorException;
import rn.UsuarioRN;
/**
 *
 * @author Marcelo Gomes Neto
 */
public class ValidaLogin implements Validator
{
    /*
    @Override
    public void validate(FacesContext context, UIComponent component,
            Object value) throws ValidatorException {
    }
    
    @Override
    public void validate(FacesContext context, UIComponent toValidate, Object value) throws ValidatorException 
    {
        String login = (String) value;
        UsuarioRN usuarioRN = new UsuarioRN();
        Usuario usu = usuarioRN.buscarPorLogin(login);
        
        try
        {
            if (login.equals(usu.getLogin())) 
            {
                ((UIInput)toValidate).setValid(true);
                FacesMessage message = new FacesMessage("Login já cadastrado!");
                context.addMessage(toValidate.getClientId(context), message);
            }
        }
        catch (Exception e) {  
            //e.printStackTrace(); 
            //System.out.println("O ERRO É: "+e.getMessage());
        }
    }
    */
    
    @Override
    public void validate(FacesContext context, UIComponent toValidate, Object value) throws ValidatorException 
    {
        try
        {
            String login = (String) value;
            UsuarioRN usuarioRN = new UsuarioRN();
            List<Usuario> listaUsuario = usuarioRN.listarUsuarios();
            for (Usuario usu : listaUsuario)
            {
                if (usu.getLogin().equals(login)) {
                    ((UIInput)toValidate).setValid(true);
                    FacesMessage message = new FacesMessage("Login já cadastrado!");
                    context.addMessage(toValidate.getClientId(context), message);
                }
            }
        }
        catch(Exception e) {
        }
    }
}